export {}

// 泛型别名-在type上的应用

// 用户信息返回数据类型
// type UserResponse = {
//   msg: string
//   code: number
//   data: {
//     name: string
//     age: number
//   }
// }

// 商品信息返回的数据类型
// type GoodsResponse = {
//   msg: string
//   code: number
//   data: {
//     price: number
//     name: string
//   }
// }

// 结合着函数传参来思考对比  fun(数据参数)    泛型   Res<类型参数>
// data不同接口返回的类型是不一致的
type Response<T> = {
  msg: string
  code: number
  data: T
}

type User = {
  name: string
  age: number
}

type Goods = {
  price: number
  name: string
}

// 定义类型别名来使用
type UserResponse = Response<User>

type GoodsResponse = Response<Goods>

// 获取用户信息数据
let user: UserResponse = {
  msg: '用户信息',
  code: 200,
  data: {
    name: '王鹏涛',
    age: 18
  }
}

// 获取商品数据
let goods: GoodsResponse = {
  msg: '商品信息',
  code: 304,
  data: {
    price: 1000,
    name: '十全大补丸'
  }
}